package edu.wpi.first.wpilibj.templates;

import edu.wpi.first.wpilibj.DigitalInput;
import edu.wpi.first.wpilibj.Jaguar;
import edu.wpi.first.wpilibj.Servo;
import edu.wpi.first.wpilibj.Solenoid;
import edu.wpi.first.wpilibj.Victor;
/**
 * The RobotMap is a mapping from the ports sensors and actuators are wired into
 * to a variable name. This provides flexibility changing wiring, makes checking
 * the wiring easier and significantly reduces the number of magic numbers
 * floating around.
 */
public class RobotMap {
    // For example to map the left and right motors, you could define the
    // following variables to use with your drivetrain subsystem.
    // public static final int leftMotor = 1;
    // public static final int rightMotor = 2;
    
    // If you are using multiple modules, make sure to define both the port
    // number and the module. For example you with a rangefinder:
    // public static final int rangefinderPort = 1;
    // public static final int rangefinderModule = 1;

//  DigitalIO
//    encoderLeft_port=1,
//    encoderRight_port=3,            
    public static DigitalInput middleLimit = new DigitalInput(11);
    public static DigitalInput slowLimit = new DigitalInput(14);
    public static DigitalInput upperLimit = new DigitalInput(2);
    public static DigitalInput lowerLimit = new DigitalInput(1);
//    public static DigitalInput liftUpLimit = new DigitalInput(3);
    public static DigitalInput liftDownLimit = new DigitalInput(12);
//    public static DigitalInput compresssorIO = new DigitalInput(14);
    
    public static Servo loaderServo = new Servo(10);
    public static Servo endGameServo = new Servo(9);
//    public static Servo pickupServo = new Servo(2);
    

//  PWM
    public static Victor shooter1 = new Victor(1);
//  public static Victor shooter2 = new Victor(2);
    public static Jaguar elevatorMotor = new Jaguar(2);    
    public static Victor frontLeftMotor1 = new Victor(3);
//    public static Victor pickUpMotor=new Victor(4);
    public static Victor rearLeftMotor1 = new Victor(4);
    public static Victor loadMotor=new Victor(5);
    public static Victor aimMotor = new Victor(6);
    public static Victor frontRightMotor1 = new Victor(7);
    public static Victor rearRightMotor1 = new Victor(8);
//    public static Relay compressorRelay = new Relay(1); //relay for the compressor

//  Analog Channels
    public static int gyro_port=2;
    public static int sonar_port=3;
    public static int pickUpsonar_port=4;

    public static Solenoid shiftSolenoid = new Solenoid(1);

    public static int colorSensor_port=1;
    
//  Input
    static int joystick_port=1;

//    static int shooter_button=6;
    static int lifter_up=11;
    static int lifter_down=10;
    static int aim_button=2;
//    static int drive_aim=1;
    static int shoot_button=1;
    static int load_button=4;
    static int elevator_up=6;
    static int elevator_middle=101;
    static int elevator_down=7;    
    static int pickUp_buton=5;
//    static int shift_up=8;
//    static int shift_down=2;
    static int endGame_release = 3;
    static int emergency_end = 8;
    static int loader_open = 4;
}
